tmem: cleanups
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 16 Jun 2009 10:47:09 +0000 (11:47 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 16 Jun 2009 10:47:09 +0000 (11:47 +0100)
- don't mis-use guest handle for passing an MFN value
- eliminate unnecessary (and misplaced) use of XEN_GUEST_HANDLE_64
- use copy_from_guest() instead of __copy_from_guest() for loading the
  argument structure

Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/common/tmem_xen.c
xen/include/public/tmem.h
xen/include/xen/tmem_xen.h

index 774bb7dc128fa48904dabfa0652dd4ea82d29dc8..f168535a2a80b8f5c3850e7f8865865db2be609a 100644 (file)
@@ -87,10 +87,7 @@ static inline void *cli_mfn_to_va(tmem_cli_mfn_t cmfn, unsigned long *pcli_mfn)
     unsigned long cli_mfn;
     p2m_type_t t;
 
-
-    if (is_pv_32on64_vcpu(current))
-        cmfn.p = (void *)((unsigned long)cmfn.p & 0xffffffffUL);
-    cli_mfn = mfn_x(gfn_to_mfn(current->domain,(unsigned long)cmfn.p,&t));
+    cli_mfn = mfn_x(gfn_to_mfn(current->domain, cmfn, &t));
     if (t != p2m_ram_rw)
         return NULL;
     if (pcli_mfn != NULL)
index b8d608f591eab6f0c8563bbbce58fb5cff9d2d2e..cef6230b897faf345f89acccfae3c2a9d7b38425 100644 (file)
@@ -66,7 +66,7 @@
 
 
 #ifndef __ASSEMBLY__
-typedef XEN_GUEST_HANDLE(void) tmem_cli_mfn_t;
+typedef xen_pfn_t tmem_cli_mfn_t;
 typedef XEN_GUEST_HANDLE(char) tmem_cli_va_t;
 struct tmem_op {
     uint32_t cmd;
@@ -95,7 +95,6 @@ struct tmem_op {
 };
 typedef struct tmem_op tmem_op_t;
 DEFINE_XEN_GUEST_HANDLE(tmem_op_t);
-typedef XEN_GUEST_HANDLE_64(tmem_op_t) tmem_cli_op_t;
 
 #endif
 
index 8d653c27df909eae86dd3c8088df1ef048469447..7da18e67e6b8f842e6688cda09d7e21601ad67f9 100644 (file)
@@ -281,12 +281,12 @@ static inline bool_t tmh_current_is_privileged(void)
 /* these typedefs are in the public/tmem.h interface
 typedef XEN_GUEST_HANDLE(void) cli_mfn_t;
 typedef XEN_GUEST_HANDLE(char) cli_va_t;
-typedef XEN_GUEST_HANDLE(tmem_op_t) cli_tmemop_t;
 */
+typedef XEN_GUEST_HANDLE(tmem_op_t) tmem_cli_op_t;
 
 static inline int tmh_get_tmemop_from_client(tmem_op_t *op, tmem_cli_op_t uops)
 {
-    return __copy_from_guest(op, uops, 1);
+    return copy_from_guest(op, uops, 1);
 }
 
 static inline void tmh_copy_to_client_buf_offset(tmem_cli_va_t clibuf, int off,